package appapi.service;

import appapi.Request.*;
import appapi.Vo.*;
import appapi.Vo.AppVo.AppLoginVo;
import appapi.dto.AppHomeDto;
import appapi.entity.Zhongjiao.*;
import appapi.entity.record.MonthInspectionEntity;
import cn.hutool.json.JSONObject;
import org.springframework.stereotype.Repository;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

@Repository
public interface IAppApiService {
    List<SiteacceptanceDto> GetAccepList(String equipNo);

    //设备信息
    List<Map<String, Object>> GetEquip(String equip_no);

    //设备安拆信息
    List<Map<String, Object>> GetDism(long equip_id, int pageNum, int pageSize);

    //设备自检信息
    List<Map<String, Object>> GetSelf(String equip_no, int pageNum, int pageSize);

    //设备巡检信息
    List<Map<String, Object>> GetOnsiteinspection(long equip_id, Integer pageNum, Integer pageSize);

    //新增巡检信息接口
    int InsertOnsiteinspection(OnsiteinspectionDto dto);

    //设备月检信息
    List<Map<String, Object>> GetMonthinspection(long equip_id, Integer pageNum, Integer pageSize);

    List<Map<String, Object>> EquipmentDtoList(EquipmentPageReq equipmentPageReq);

    //维保信息查询
    List<Map<String, Object>> GetRectificationList(long equip_id, Integer pageNum, Integer pageSize);

    List<Map<String, Object>> GetEquipmenttype();
    //获取设备类型

    //根据项目和人员获取所有巡检信息
    List<Map<String, Object>> OnsiteinspectionPageList(OnsiteinspectionPageReq onsiteinspectionPageReq);

    //根据月检项目和操作人员获取所有自检信息
    List<Map<String, Object>> MonthinspectionPageList(MonthinspectionPageReq monthinspectionPageReq);

    //查询是否拥有用户
    List<Map<String, Object>> GetMobile(String staffMobile, String wxid);

    //数据字典下拉框查询
    List<Map<String, Object>> GetDicType(String DicType);

    //操作人员
    List<Map<String, Object>> Getoperator();

    List<Map<String, Object>> GetProject(ProjPageReq projPageReq);

    //根据项目，人员，类型获取所有自检
    List<Map<String, Object>> AppSelfcheckPageList(AppSelfcheckPageReq appSelfcheckPageReq);

    //新增月检信息
    //int InsertmonthinspectionDto(MonthinspectionDto monthinspectionDto);

    //新增月检
    int InsertmonthinspectionDto(MonthInspectionEntity entity);

    //修改整改信息
    int UpdateRectification(RectificationDto rectificationDto);

    //查看维保信息
    List<Map<String, Object>> EquipmentmaintenanPageList(EquipmentmaintenanPageReq equipmentmaintenanPageReq);

    int UpdateEquipmentmaintenan(EquipmentmaintenanDto equipmentmaintenanDto);

    int UpdateMonthinspectionDto(MonthinspectionDto monthinspectionDto);

    JSONObject GetOnsi(JSONObject json);

    long InsertAddoOnsit(AddOnsiteinspectionVo addOnsiteinspectionVo);

    long InsertAddMonth(AddMonthinspectionVo addMonthinspectionVo);

    long InsertAddSelfcheck(AddSelfcheckVo addSelfcheckVo);

    void InsertEquipmentmaintenan(EquipmentmaintenanDto equipmentmaintenanDto);

    int updateRectificationList(updateRectificationListVo up);

    List<Map<String, Object>> GetMaintenanitem(long equipTypeId);

    int AddMaintenandetailList(AddMaintenandetailListVo add);

    List<Map<String, Object>> GetOnsitedetailList(long onsiteId);

    List<Map<String, Object>> GetMonthdetailList(long monthId);

    List<Map<String, Object>> Getmaintenandetail(long mainId);

    List<WxHomePageVo> GetWxHomePage(AppHomeDto dto);

    long AddRectificationAll(AddRectificationVo addRectification);


//    Integer a(String equipNo);
}
